home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
newsgrp
/
group00b.txt
/
000118_icon-group-sender_Fri Oct 27 12:29:56 2000.msg
< prev
next >
Wrap
Internet Message Format
|
2001-01-03
|
1KB
Return-Path: <icon-group-sender>
Received: (from root@localhost)
by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id e9RJTS526754
for icon-group-addresses; Fri, 27 Oct 2000 12:29:28 -0700 (MST)
Message-Id: <200010271929.e9RJTS526754@baskerville.CS.Arizona.EDU>
X-Sender: whm@mail.mse.com
Date: Fri, 27 Oct 2000 01:57:58 -0700
To: icon-group@cs.arizona.edu
From: "William H. Mitchell" <whm@mse.com>
Subject: Sweating over scanning?
Errors-To: icon-group-errors@cs.arizona.edu
Status: RO
Content-Length: 907
Regarding this:
> >> line ? while tab(upto(&letters)) do move(1)
>
> > Intimidates? Sends you screaming come back awk, come back perl, all
> > is forgiven?
One thing that I think helps to understand scanning is to realize that the
scanning facility consists of just a handful of elements. According to my
notes, here they are:
Procedures for changing &pos:
move(n) relative adjustment; string result
tab(n) absolute adjustment; string result
Procedures often used in conjunction with tab(n):
upto(c) generates positions of characters in c
many(c) produces position after run of characters in c
find(s) generates positions of s
match(s) produces position after s, if s is next
any(c) produces position after a character in c
Other procedures:
pos(n) tests if &pos is equivalent to n
bal(s, c1, c2, c3) similar to upto(c), but used for working with
"balanced" strings.